package com.qcby.framework.common.enums;

import lombok.Getter;

import java.util.Objects;


/**
 * 数据范围枚举类型
 *
 * @author cong.zhen
 * @date 2023/04/12
 */
@Getter
public enum DataScopeTypeEnum {

    /**
     * 仅本人数据
     */
    SELF(10, "仅本人数据"),

    /**
     * 本部门数据
     */
    DEPT(20, "本部门数据"),

    /**
     * 本部门及以下数据
     */
    DEPT_WITH_CHILD(30, "本部门及以下数据"),

    /**
     * 指定部门数据
     */
    DEFINE(40, "指定部门数据"),

    /**
     * 全部数据
     */
    ALL(50, "全部数据");

    private final Integer code;

    private final String message;

    DataScopeTypeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public static DataScopeTypeEnum codeToEnum(Integer code) {
        if (Objects.isNull(code)) {
            return null;
        }
        for (DataScopeTypeEnum dataScopeTypeEnum : DataScopeTypeEnum.values()) {
            if (dataScopeTypeEnum.getCode().equals(code)) {
                return dataScopeTypeEnum;
            }
        }
        return null;
    }

}
